package com.neusoft.NursingHome.service;

import com.neusoft.NursingHome.po.BedUse;
import java.util.Date;
import java.util.List;

public interface BedUseService {


    /**
     * 创建床位使用记录
     * @param bedUse 床位使用记录对象
     * @return 创建是否成功
     */
    boolean createBedUsageRecord(BedUse bedUse);

    /**
     * 更新床位使用记录的结束时间
     * @param id 使用记录 ID
     * @param endTime 结束时间
     * @return 更新是否成功
     */
    boolean updateBedUsageRecordEndTime(Integer id, Date endTime);

    /**
     * 更新床位使用记录状态（逻辑删除）
     * @param id 使用记录 ID
     * @param status 新状态（0:历史 1:当前）
     * @return 更新是否成功
     */
    boolean updateBedUsageRecordStatus(Integer id, Byte status);

    /**
     * 按照状态 status 筛选床位使用记录
     * @param status 状态值（0:历史 1:当前）
     * @return 符合条件的床位使用记录列表
     */
    List<BedUse> getBedUsageRecordsByStatus(Byte status);

    /**
     * 按照客户名称和状态搜索记录
     * @param customerName 客户名称
     * @param status 状态值（0:历史 1:当前）
     * @return 符合条件的床位使用记录列表
     */
    List<BedUse> getBedUsageRecordsByCustomerNameAndStatus(String customerName, Byte status);

    /**
     * 按照入住日期搜索记录
     * @param beginTime 入住日期
     * @return 符合条件的床位使用记录列表
     */
    List<BedUse> getBedUsageRecordsByBeginTime(Date beginTime);

    /**
     * 根据记录id获取一条数据
     * @param id 使用记录ID
     * @return 床位使用记录详情
     */
    BedUse getBedUsageRecordById(Integer id);
}